/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package Controller;

import Model.GpsSemaforo;
import java.util.ArrayList;
import javax.swing.JPanel;
import sistemadeer.SistemaDEER;
import sistemadeer.SistemaDEER.Rejilla;

/**
 *
 * @author Rossy
 */
public class ControlarSemaforo implements Runnable{
    
    private SistemaDEER principal;
    private JPanel mapa;
    Rejilla rejilla;
    ArrayList<GpsSemaforo>gpsList=new ArrayList<GpsSemaforo>();
    long tiempo=0;
    Thread hilo=new Thread();
    int seg=0;
    
    public ControlarSemaforo(SistemaDEER principal,JPanel mapa,Rejilla rejilla,ArrayList<GpsSemaforo>gpsList){
        this.principal=principal;
        this.mapa=mapa;
        this.gpsList=gpsList;
        this.rejilla=rejilla;
    }
    
//    public void run(){
//        while (true){
//            calcula();
//            try {
//               Thread.sleep(1000);
//            } catch (InterruptedException ex) {
//            }
//            
//        }
//    }
//    
//    public void calcula(){
//         int x, y, temp, esHorizontal;
//         int t=0;
////           while(true) {
//         while(true) {
//               for(int i=0;i<gpsList.size();i++){
//                            x=gpsList.get(i).getPosX();
//                            y=gpsList.get(i).getPosY();
//                            temp = gpsList.get(i).getTiempo();
//                            esHorizontal=gpsList.get(i).getEsHorizontal();
//                       while(t!=tiempo){     
//                        if((tiempo % temp)==0) { 
//                             tiempo=0;
//                             if(esHorizontal==0){
//                                esHorizontal=1;
//                             }   
//                             else{
//                                 esHorizontal=0;
//                             }    
//                             
//                             this.rejilla.paintSemaforo(x, y, t, esHorizontal);
//                        }
//                    }
//                    tiempo++;
//                    if(t==tiempo) t=0;
//               }
//                    
//         }
//
//    }
    
    public void run() {
        int x, y, temp, esHorizontal;
        while (true) {
            if (seg == 30) {
                seg = 0;
            }
            seg++;
            
            for (int i = 0; i < gpsList.size(); i++) {
                x = gpsList.get(i).getPosX();
                y = gpsList.get(i).getPosY();
                temp = gpsList.get(i).getTiempo();
                esHorizontal = gpsList.get(i).getEsHorizontal();
                if (seg == 30) {

                    if (esHorizontal == 0) {
                        esHorizontal = 1;
                    } else {
                        esHorizontal = 0;
                    }
                    gpsList.get(i).setEsHorizontal(esHorizontal);
                    this.principal.getRejilla().paintSemaforo(x+5, y+5, temp, esHorizontal);
                }
            }
            
            try {
                System.out.println("seg "+seg); //para durar un segundo
                Thread.sleep(1000);
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
    
    }
    
}


